#include<bits/stdc++.h>
using namespace std;
struct node
{
	int x,y;
}a[102];
int n,m,o[102],t[3];
long long ans;
int dis(int x,int y)
{
	return abs(a[x].x-a[y].x)+abs(a[x].y-a[y].y);
}
int main()
{
	freopen("chess.in","r",stdin);
	freopen("chess.out","w",stdout);
	int T;
	cin>>T;
	while(T--)
	{
		ans=0;
		cin>>n>>m;
		for(int i=1;i<=n;i++)
			cin>>a[i].x>>a[i].y;
		for(int i=1;i<=n;i++)
			cin>>o[i];
		for(int i=1;i<=n;i++)
			for(int j=i+1;j<=n;j++)
				for(int k=j+1;k<=n;k++)
				{
					t[0]=dis(i,j),t[1]=dis(j,k),t[2]=dis(i,k);
					sort(t,t+2);
					if(t[1]%20==3||t[1]<=10)
						ans+=o[i]+o[j]+o[k];
				}
		cout<<ans<<endl;
	}
}
